www.gusucode.com > 超声波测量以及形成图像 对相关信号进行模拟仿真 > 超声波测量以及形成图像 对相关信号进行模拟仿真/digital holograpy/prog/WSCfilter.m

    function [ b ] = WSCfilter( a,weight,masksize )
%WSCFILTER Weighted Sine / Cosine Filter for the phase fringe pattern
%  Syntax:
%  [ b ] = WSCfilter( a,masksize,weight );
%
a=exp(i*a);
b=a;
[M,N]=size(a);

left=round((masksize(2)-1)/2);
right=masksize(2)-1-left;
up=round((masksize(1)-1)/2);
down=masksize(1)-1-up;

a=[zeros(M,left),a,zeros(M,right)];
a=[zeros(up,N+masksize(2)-1);a;zeros(down,N+masksize(2)-1)];
weight=[zeros(M,left),weight,zeros(M,right)];
weight=[zeros(up,N+masksize(2)-1);weight;zeros(down,N+masksize(2)-1)];

for m=1+up:M+up
    for n=1+left:N+left
        mask=weight(m-up:m+down,n-left:n+right);
        mask=mask./sum(sum(mask));
        b(m-up,n-left)=sum(sum(a(m-up:m+down,n-left:n+right).*mask));
    end
end
b=angle(b);